//
// Created by lqk on 2022/1/28.
//

#ifndef QUADCEREBELLUM_MOTORSSTRUCTS_H
#define QUADCEREBELLUM_MOTORSSTRUCTS_H


struct MotorsCommand {
    float qDesAbad[4]{}; //Abad means abduction and adduction
    float qDesHip[4]{};
    float qDesKnee[4]{};

    float qdDesAbad[4]{};
    float qdDesHip[4]{};
    float qdDesKnee[4]{};

    float kpAbad[4]{};
    float kpHip[4]{};
    float kpKnee[4]{};

    float kdAbad[4]{};
    float kdHip[4]{};
    float kdKnee[4]{};

    float tauAbadFF[4]{}; //FF means feedforward
    float tauHipFF[4]{};
    float tauKneeFF[4]{};
};

struct MotorsInfo {
    float posAbad[4]{};
    float posHip[4]{};
    float posKnee[4]{};
    float velAbad[4]{};
    float velHip[4]{};
    float velKnee[4]{};
};

#endif //QUADCEREBELLUM_MOTORSSTRUCTS_H
